<!DOCTYPE html>
<html lang="en">

<head>
  <!-- The first thing in any HTML file should be the charset -->
  <meta charset="utf-8">
  <!-- Make the page mobile compatible -->
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <!-- Allow installing the app to the homescreen -->
  <!--<link rel="manifest" href="manifest.json">-->
  <meta name="mobile-web-app-capable" content="yes">
  <meta name="description" content="">
  <link rel="shortcut icon" href="assets/icon/about_icon.png" type="image/x-icon" />
  <link rel="stylesheet" href="vendor/antd/antd.min.css">
  <link rel="stylesheet" type="text/css" href="vendor/iconfont/iconfont.css">
  <link rel="stylesheet" type="text/css" href="vendor/fonts_tab/iconfont.css">
  <link rel="stylesheet" type="text/css" href="vendor/fonts-boot/iconfont.css">
  <link rel="stylesheet" href="vendor/codeMirror/codemirror.css">
  <link rel="stylesheet" href="vendor/codeMirror/merge.css">
  <link rel="stylesheet" href="vendor/codeMirror/erlang-dark.css">
  <link rel="stylesheet" href="vendor/animate/animate.css">

  <!-- Polyfills -->
  <script src="vendor/polyfill/Intl.min.js"></script>
  <title>CyclOne</title>
  <script>
    /*!
     * Bowser - a browser detector
     * https://github.com/ded/bowser
     * MIT License | (c) Dustin Diaz 2015
     */
    ! function (e, t) {
      typeof module != "undefined" && module.exports ? module.exports = t() : typeof define == "function" && define.amd ?
        define(t) : this[e] = t()
    }("bowser", function () {
      function t(t) {
        function n(e) {
          var n = t.match(e);
          return n && n.length > 1 && n[1] || ""
        }

        function r(e) {
          var n = t.match(e);
          return n && n.length > 1 && n[2] || ""
        }
        var i = n(/(ipod|iphone|ipad)/i).toLowerCase(),
          s = /like android/i.test(t),
          o = !s && /android/i.test(t),
          u = /CrOS/.test(t),
          a = n(/edge\/(\d+(\.\d+)?)/i),
          f = n(/version\/(\d+(\.\d+)?)/i),
          l = /tablet/i.test(t),
          c = !l && /[^-]mobi/i.test(t),
          h;
        /opera|opr/i.test(t) ? h = {
            name: "Opera",
            opera: e,
            version: f || n(/(?:opera|opr)[\s\/](\d+(\.\d+)?)/i)
          } : /yabrowser/i.test(t) ? h = {
            name: "Yandex Browser",
            yandexbrowser: e,
            version: f || n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)
          } : /windows phone/i.test(t) ? (h = {
            name: "Windows Phone",
            windowsphone: e
          }, a ? (h.msedge = e, h.version = a) : (h.msie = e, h.version = n(/iemobile\/(\d+(\.\d+)?)/i))) :
          /msie|trident/i.test(t) ? h = {
            name: "Internet Explorer",
            msie: e,
            version: n(/(?:msie |rv:)(\d+(\.\d+)?)/i)
          } : u ? h = {
            name: "Chrome",
            chromeBook: e,
            chrome: e,
            version: n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
          } : /chrome.+? edge/i.test(t) ? h = {
            name: "Microsoft Edge",
            msedge: e,
            version: a
          } : /chrome|crios|crmo/i.test(t) ? h = {
            name: "Chrome",
            chrome: e,
            version: n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
          } : i ? (h = {
            name: i == "iphone" ? "iPhone" : i == "ipad" ? "iPad" : "iPod"
          }, f && (h.version = f)) : /sailfish/i.test(t) ? h = {
            name: "Sailfish",
            sailfish: e,
            version: n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)
          } : /seamonkey\//i.test(t) ? h = {
            name: "SeaMonkey",
            seamonkey: e,
            version: n(/seamonkey\/(\d+(\.\d+)?)/i)
          } : /firefox|iceweasel/i.test(t) ? (h = {
            name: "Firefox",
            firefox: e,
            version: n(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i)
          }, /\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t) && (h.firefoxos = e)) : /silk/i.test(t) ? h = {
            name: "Amazon Silk",
            silk: e,
            version: n(/silk\/(\d+(\.\d+)?)/i)
          } : o ? h = {
            name: "Android",
            version: f
          } : /phantom/i.test(t) ? h = {
            name: "PhantomJS",
            phantom: e,
            version: n(/phantomjs\/(\d+(\.\d+)?)/i)
          } : /blackberry|\bbb\d+/i.test(t) || /rim\stablet/i.test(t) ? h = {
            name: "BlackBerry",
            blackberry: e,
            version: f || n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)
          } : /(web|hpw)os/i.test(t) ? (h = {
            name: "WebOS",
            webos: e,
            version: f || n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)
          }, /touchpad\//i.test(t) && (h.touchpad = e)) : /bada/i.test(t) ? h = {
            name: "Bada",
            bada: e,
            version: n(/dolfin\/(\d+(\.\d+)?)/i)
          } : /tizen/i.test(t) ? h = {
            name: "Tizen",
            tizen: e,
            version: n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || f
          } : /safari/i.test(t) ? h = {
            name: "Safari",
            safari: e,
            version: f
          } : h = {
            name: n(/^(.*)\/(.*) /),
            version: r(/^(.*)\/(.*) /)
          }, !h.msedge && /(apple)?webkit/i.test(t) ? (h.name = h.name || "Webkit", h.webkit = e, !h.version && f &&
            (h.version = f)) : !h.opera && /gecko\//i.test(t) && (h.name = h.name || "Gecko", h.gecko = e, h.version =
            h.version || n(/gecko\/(\d+(\.\d+)?)/i)), !h.msedge && (o || h.silk) ? h.android = e : i && (h[i] = e, h.ios =
            e);
        var p = "";
        h.windowsphone ? p = n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i) : i ? (p = n(
          /os (\d+([_\s]\d+)*) like mac os x/i), p = p.replace(/[_\s]/g, ".")) : o ? p = n(
          /android[ \/-](\d+(\.\d+)*)/i) : h.webos ? p = n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i) : h.blackberry ? p = n(
          /rim\stablet\sos\s(\d+(\.\d+)*)/i) : h.bada ? p = n(/bada\/(\d+(\.\d+)*)/i) : h.tizen && (p = n(
          /tizen[\/\s](\d+(\.\d+)*)/i)), p && (h.osversion = p);
        var d = p.split(".")[0];
        if (l || i == "ipad" || o && (d == 3 || d == 4 && !c) || h.silk) h.tablet = e;
        else if (c || i == "iphone" || i == "ipod" || o || h.blackberry || h.webos || h.bada) h.mobile = e;
        return h.msedge || h.msie && h.version >= 10 || h.yandexbrowser && h.version >= 15 || h.chrome && h.version >=
          20 || h.firefox && h.version >= 20 || h.safari && h.version >= 6 || h.opera && h.version >= 10 || h.ios &&
          h.osversion && h.osversion.split(".")[0] >= 6 || h.blackberry && h.version >= 10.1 ? h.a = e : h.msie && h.version <
          10 || h.chrome && h.version < 20 || h.firefox && h.version < 20 || h.safari && h.version < 6 || h.opera &&
          h.version < 10 || h.ios && h.osversion && h.osversion.split(".")[0] < 6 ? h.c = e : h.x = e, h
      }
      var e = !0,
        n = t(typeof navigator != "undefined" ? navigator.userAgent : "");
      return n.test = function (e) {
        for (var t = 0; t < e.length; ++t) {
          var r = e[t];
          if (typeof r == "string" && r in n) return !0
        }
        return !1
      }, n._detect = t, n
    })

  </script>
</head>

<body>
  <style>
    .ant-tooltip .ant-tooltip-inner {
      background-color: rgba(75, 134, 230, 0.75) !important;
    }

    .ant-tooltip .ant-tooltip-arrow {
      border-right-color: rgba(75, 134, 230, 0.75) !important;
    }

    .ant-tooltip .ant-tooltip-inner a {
      color: #fff;
    }

    .init-loading {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background: white;
    }

    .init-loading.hide {
      display: none;
    }

    .init-loading .loading-area {
      text-align: center;
      width: 100px;
      margin: auto;
      margin-top: 40vh;
      position: relative;
    }

    .init-loading .loading-cloud {
      width: 92px;
      height: 65px;
    }

    .init-loading .loading-gear-big {
      position: absolute;
      top: 31px;
      left: 24px;
      width: 27px;
      height: 27px;
      -ms-transform: rotate(0deg);
    }

    .init-loading .loading-gear-small {
      position: absolute;
      top: 20px;
      left: 51px;
      height: 20px;
      width: 20px;
      -ms-transform: rotate(0deg);
      animation-direction: reverse;
      -o-animation-direction: reverse;
      -ms-animation-direction: reverse;
      -webkit-animation-direction: reverse;
      -moz-animation-direction: reverse;
    }

    .init-loading .loading-rotate {
      animation-name: rotateAnim;
      -o-animation-name: rotateAnim;
      -ms-animation-name: rotateAnim;
      -webkit-animation-name: rotateAnim;
      -moz-animation-name: rotateAnim;
      animation-duration: 1.4s;
      -o-animation-duration: 1.4s;
      -ms-animation-duration: 1.4s;
      -webkit-animation-duration: 1.4s;
      -moz-animation-duration: 1.4s;
      animation-iteration-count: infinite;
      -o-animation-iteration-count: infinite;
      -ms-animation-iteration-count: infinite;
      -webkit-animation-iteration-count: infinite;
      -moz-animation-iteration-count: infinite;
      animation-timing-function: linear;
      -o-animation-timing-function: linear;
      -ms-animation-timing-function: linear;
      -webkit-animation-timing-function: linear;
      -moz-animation-timing-function: linear;
    }

    @keyframes rotateAnim {
      from {
        transform: rotate(360deg);
      }
      to {
        transform: rotate(0deg);
      }
    }

    @-o-keyframes rotateAnim {
      from {
        -o-transform: rotate(360deg);
      }
      to {
        -o-transform: rotate(0deg);
      }
    }

    @-ms-keyframes rotateAnim {
      from {
        -ms-transform: rotate(360deg);
      }
      to {
        -ms-transform: rotate(0deg);
      }
    }

    @-webkit-keyframes rotateAnim {
      from {
        -webkit-transform: rotate(360deg);
      }
      to {
        -webkit-transform: rotate(0deg);
      }
    }

    @-moz-keyframes rotateAnim {
      from {
        -moz-transform: rotate(360deg);
      }
      to {
        -moz-transform: rotate(0deg);
      }
    }

  </style>
  <div class="init-loading" id="InitLoading">
    <div class="loading-area">
      <img class="loading-cloud" src="/assets/img/init-loading-1.png" alt="">
      <img class="loading-gear-big loading-rotate" src="/assets/img/init-loading-2.png" alt="">
      <img class="loading-gear-small loading-rotate" src="/assets/img/init-loading-2.png" alt="">
    </div>
  </div>
  <!--[if IE 9]><script type="text/javascript">
window['isIE9'] = true;

(function() {
  var gear1 = document.getElementsByClassName('loading-gear-big')[0];
  var gear2 = document.getElementsByClassName('loading-gear-small')[0];
  window.loadingInterval = rotate(gear1, gear2);

  function rotate(gear1, gear2) {
    setRotate(gear1, 0);
    setRotate(gear2, 0);
    return setInterval(function() {
      setRotate(gear1, getRotate(gear1) - 8);
      setRotate(gear2, getRotate(gear2) + 8);
    }, 30);
  }

  function getRotate(gear) {
    var transform = gear.style.transform || gear.style.msTransform;
    var ret = 0;
    if (transform && transform !== '') {
      ret = transform.match(/-?\d+/)[0] - 0;
    }
    if (Math.abs(ret) >= 360) {
      ret = 0;
    }
    return ret;
  }

  function setRotate(gear, deg) {
    var transform = 'rotate(' + deg + 'deg)';
    gear.style.transform = transform;
    gear.style.msTransform = transform;
  }
})();

</script><![endif]-->
  <!-- The app hooks into this div -->
  <div class="browser-upgrade-tips" id="BrowserUpgradeTips" style="position:fixed; z-index: 10000; top:0;left:0;right:0;bottom: 0;overflow:hidden; background: white; display: none;">
    <div class="" style="width: 600px; margin:100px auto;">
      <div class="error-spacer"></div>
      <div role="main" class="main">

        <h1>Sorry!</h1>

        <h2>You are using an outdated browser.</h2>
        <hr>

        <p>To display the app correctly and protect your information</p>
        <p>Please use one of these up-to-date, free and excellent browsers</p>
        <p>Latest
          <b>Chrome</b>、
          <b>Firefox</b>、
          <b>Safari</b>、
          <b>IE>11</b>
        </p>
      </div>
    </div>
  </div>
  <!-- browser detect logic -->
  <script>
    if (bowser.msie && bowser.version < 9) {
      document.getElementById("BrowserUpgradeTips").style.display = "block";
    }

  </script>
  <section id="AppRoot" style="height: 100%"></section>
  <script src="/vendor/moment/moment.js"></script>
  <script src="/vendor/react/vendors.js"></script>
  <script src="/vendor/antd/antd.min.js"></script>
  <script src="/vendor/clipboard/clipboard.min.js"></script>
  <script src="/vendor/jquery/jquery-3.2.1.min.js"></script>
  <script src="vendor/codeMirror/codemirror.js"></script>
  <script src="vendor/codeMirror/diff_match_patch.js"></script>
  <script src="vendor/codeMirror/merge.js"></script>
  <script src="vendor/codeMirror/css.js"></script>
  <script src="vendor/codeMirror/shell.js"></script>
  <script src="vendor/echarts/echarts.common.min.js"></script>

  <!-- A lot of magic happens in this file. HtmlWebpackPlugin automatically includes all assets (e.g. bundle.js, main.css) with the correct HTML tags, which is why they are missing in this HTML file. Don't add any assets here! (Check out webpackconfig.js if you want to know more) -->
</body>

</html>
